package com.nbst.dao.mapper.mes;

import java.util.List;
import java.util.Map;

import com.nbst.dao.base.mapper.BaseMapper;
import com.nbst.model.mes.Ipqc;
import com.nbst.model.mes.IpqcTz;

public interface IpqcMapper extends BaseMapper<Ipqc> {

	/**
	 * 根据条件查询质检台账信息
	 * 
	 * @param map
	 * @return List<IpqcTz>
	 * @author King
	 * @date 2019年4月25日
	 */
	List<IpqcTz> getQcTzList(Map<String, Object> map);

	/**
	 * 根据完工单id关闭质检单
	 * 
	 * @param fEndWorkId
	 * @return Integer
	 * @author King
	 * @date 2019年5月27日
	 */
	Integer closedIpqc(Integer fEndWorkId);

	List<Map<String, Object>> findOverCheckByCondition(Map<String, Object> map);

	/**
	 * 根据id获取ipqc列表
	 * 
	 * @param map
	 * @return List<Map<String,Object>>
	 * @author Fuyr
	 * @date 2019年7月18日
	 */
	List<Map<String, Object>> getIpqcList(Map<String, Object> map);

	/**
	 * 根据id获取ipqc列表
	 * 
	 * @param fInterId
	 * @return List<Ipqc>
	 * @author Fuyr
	 * @date 2019年7月18日
	 */
	List<Ipqc> findById(int fInterId);

	/**
	 * 获取合并工序中除了最后一道工序的所有工废料废等质检信息
	 * 
	 * @param id
	 * @return
	 */
	Map<String, Object> getSumQty(List<Integer> mergeEndIds);

	/**
	 * 根据完工表id查对应的ipqc记录
	 * 
	 * @param id
	 * @return
	 */
	Ipqc findIpqcByEndWorkId(Integer id);

	/**
	 * 根据完工表id查询该质检信息是否为自动质检
	 * 
	 * @param fEndWorkId
	 * @return Integer
	 * @author King
	 * @date 2019年8月9日
	 */
	Integer searchIpqcAutoQcStatus(Integer fEndWorkId);

	/**
	 * 根据派工单\工序号获取该派工单已质检数
	 * 
	 * @param Map
	 * 
	 * @return List<Map<String,Object>>
	 * @author King
	 * @date 2020年3月9日
	 */
	List<Map<String, Object>> getIpqcDataInfo(Map<String, Object> map);

	/**
	 * 根据开工单id关闭首检记录
	 * 
	 * @param fStartWorkId
	 * @return int
	 * @author King
	 * @date 2020年11月25日
	 */
	int closedFirstIpqc(Integer fStartWorkId);

}